home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / muibuilder21.lha / MUIBuilder / MB / E / EMODULES / libraries / mui.e next >
Encoding:
Text File  |  1995-01-08  |  75.7 KB  |  1,961 lines

  1. OPT MODULE
  2. OPT PREPROCESS
  3. OPT EXPORT
  4.  
  5. MODULE 'exec/libraries'
  6. MODULE 'intuition/intuition' , 'intuition/screens' , 'intuition/classes'
  7. MODULE 'graphics/text' , 'graphics/rastport'
  8. MODULE 'utility/hooks'
  9.  
  10. ->#define MUI_NOSHORTCUTS
  11. #define MUI_OBSOLETE /* include obsolete identifiers */
  12.  
  13. /***************************************************************************
  14. **
  15. ** MUI - MagicUserInterface
  16. ** (c) 1993 by Stefan Stuntz
  17. **
  18. ** Main Header File
  19. **
  20. ****************************************************************************
  21. ** Class Tree
  22. ****************************************************************************
  23. **
  24. ** rootclass               (BOOPSI's base class)
  25. ** +--Notify               (implements notification mechanism)
  26. **    +--Family            (handles multiple children)
  27. **    !  +--Menustrip      (describes a complete menu strip)
  28. **    !  +--Menu           (describes a single menu)
  29. **    !  \--Menuitem       (describes a single menu item)
  30. **    +--Application       (main class for all applications)
  31. **    +--Window            (handles intuition window related topics)
  32. **    +--Area              (base class for all GUI elements)
  33. **       +--Rectangle      (creates (empty) rectangles)
  34. **       +--Image          (creates images)
  35. **       +--Text           (creates some text)
  36. **       +--String         (creates a string gadget)
  37. **       +--Prop           (creates a proportional gadget)
  38. **       +--Gauge          (creates a fule gauge)
  39. **       +--Scale          (creates a percentage scale)
  40. **       +--Boopsi         (interface to BOOPSI gadgets)
  41. **       +--Colorfield     (creates a field with changeable color)
  42. **       +--List           (creates a line-oriented list)
  43. **       !  +--Floattext   (special list with floating text)
  44. **       !  +--Volumelist  (special list with volumes)
  45. **       !  +--Scrmodelist (special list with screen modes)
  46. **       !  \--Dirlist     (special list with files)
  47. **       +--Group          (groups other GUI elements)
  48. **          +--Register    (handles page groups with titles)
  49. **          +--Virtgroup   (handles virtual groups)
  50. **          +--Scrollgroup (handles virtual groups with scrollers)
  51. **          +--Scrollbar   (creates a scrollbar)
  52. **          +--Listview    (creates a listview)
  53. **          +--Radio       (creates radio buttons)
  54. **          +--Cycle       (creates cycle gadgets)
  55. **          +--Slider      (creates slider gadgets)
  56. **          +--Coloradjust (creates some RGB sliders)
  57. **          +--Palette     (creates a complete palette gadget)
  58. **          +--Colorpanel  (creates a panel of colors)
  59. **          +--Popstring   (base class for popups)
  60. **             +--Popobject(popup a MUI object in a window)
  61. **             \--Popasl   (popup an asl requester)
  62. **
  63. ****************************************************************************
  64. ** General Header File Information
  65. ****************************************************************************
  66. **
  67. ** All macro and structure definitions follow these rules:
  68. **
  69. ** Name                       Meaning
  70. **
  71. ** MUIC_<class>               Name of a class
  72. ** MUIM_<class>_<method>      Method
  73. ** MUIP_<class>_<method>      Methods parameter structure
  74. ** MUIV_<class>_<method>_<x>  Special method value
  75. ** MUIA_<class>_<attrib>      Attribute
  76. ** MUIV_<class>_<attrib>_<x>  Special attribute value
  77. ** MUIE_<error>               Error return code from Mui_Error()
  78. ** MUII_<name>                Standard MUI image
  79. ** MUIX_<code>                Control codes for text strings
  80. ** MUIO_<name>                Object type for Mui_MakeObjectA()
  81. **
  82. ** MUIA_... attribute definitions are followed by a comment
  83. ** consisting of the three possible letters I, S and G.
  84. ** I: it's possible to specify this attribute at object creation time.
  85. ** S: it's possible to change this attribute with SetAttrs().
  86. ** G: it's possible to get this attribute with GetAttr().
  87. **
  88. ** Items marked with "Custom Class" are for use in custom classes only!
  89. */
  90.  
  91.  
  92. /***************************************************************************
  93. ** Library specification
  94. ***************************************************************************/
  95.  
  96. #define MUIMASTER_NAME 'muimaster.library'
  97. CONST MUIMASTER_VMIN = 10
  98. CONST MUI_TRUE = 1 -> Added for Amiga E
  99.  
  100. /*
  101. ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  102. ** Warning, the macros in this header file work only with muimaster.library
  103. ** V8 and above. If you recompile your programs, be sure to open
  104. ** muimaster.library with MUIMASTER_VMIN as version number.
  105. ** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  106. */
  107.  
  108.  
  109.  
  110. /***************************************************************************
  111. ** Object Types for Mui_MakeObjectA()
  112. ***************************************************************************/
  113.  
  114. CONST MUIO_Label       = 1    /* STRPTR label, ULONG flags */
  115. CONST MUIO_Button      = 2    /* STRPTR label */
  116. CONST MUIO_Checkmark   = 3    /* STRPTR label */
  117. CONST MUIO_Cycle       = 4    /* STRPTR label, STRPTR *entries */
  118. CONST MUIO_Radio       = 5    /* STRPTR label, STRPTR *entries */
  119. CONST MUIO_Slider      = 6    /* STRPTR label, LONG min, LONG max */
  120. CONST MUIO_String      = 7    /* STRPTR label, LONG maxlen */
  121. CONST MUIO_PopButton   = 8    /* STRPTR imagespec */
  122. CONST MUIO_HSpace      = 9    /* LONG space   */
  123. CONST MUIO_VSpace      = 10   /* LONG space   */
  124. CONST MUIO_HBar        = 11   /* LONG space   */
  125. CONST MUIO_VBar        = 12   /* LONG space   */
  126. CONST MUIO_MenustripNM = 13   /* struct NewMenu *nm, ULONG flags */
  127. CONST MUIO_Menuitem    = 14   /* STRPTR label, STRPTR shortcut, ULONG flags, ULONG data  */
  128. CONST MUIO_BarTitle    = 15   /* STRPTR label */
  129.  
  130. CONST MUIO_Label_SingleFrame = $100
  131. CONST MUIO_Label_DoubleFrame = $200
  132. CONST MUIO_Label_LeftAligned = $400
  133. CONST MUIO_Label_Centered    = $800
  134.  
  135.  
  136. /***************************************************************************
  137. ** ARexx Interface
  138. ***************************************************************************/
  139.  
  140. OBJECT mui_command
  141.     mc_name        : PTR TO CHAR
  142.     mc_template    : PTR TO CHAR
  143.     mc_parameters  : LONG
  144.     mc_hook        : PTR TO hook
  145.     mc_reserved[5] : ARRAY OF LONG
  146. ENDOBJECT
  147.  
  148. CONST MC_TEMPLATE_ID = -1
  149.  
  150. CONST MUI_RXERR_BADDEFINITION  = -1
  151. CONST MUI_RXERR_OUTOFMEMORY    = -2
  152. CONST MUI_RXERR_UNKNOWNCOMMAND = -3
  153. CONST MUI_RXERR_BADSYNTAX      = -4
  154.  
  155.  
  156. /***************************************************************************
  157. ** Return values for Mui_Error()
  158. ***************************************************************************/
  159.  
  160. CONST MUIE_OK                  = 0
  161. CONST MUIE_OutOfMemory         = 1
  162. CONST MUIE_OutOfGfxMemory      = 2
  163. CONST MUIE_InvalidWindowObject = 3
  164. CONST MUIE_MissingLibrary      = 4
  165. CONST MUIE_NoARexx             = 5
  166. CONST MUIE_SingleTask          = 6
  167.  
  168.  
  169.  
  170. /***************************************************************************
  171. ** Standard MUI Images
  172. ***************************************************************************/
  173.  
  174. CONST MUII_WindowBack     = 0   /* These images are configured   */
  175. CONST MUII_RequesterBack  = 1   /* with the preferences program. */
  176. CONST MUII_ButtonBack     = 2
  177. CONST MUII_ListBack       = 3
  178. CONST MUII_TextBack       = 4
  179. CONST MUII_PropBack       = 5
  180. CONST MUII_PopupBack      = 6
  181. CONST MUII_SelectedBack   = 7
  182. CONST MUII_ListCursor     = 8
  183. CONST MUII_ListSelect     = 9
  184. CONST MUII_ListSelCur     = 10
  185. CONST MUII_ArrowUp        = 11
  186. CONST MUII_ArrowDown      = 12
  187. CONST MUII_ArrowLeft      = 13
  188. CONST MUII_ArrowRight     = 14
  189. CONST MUII_CheckMark      = 15
  190. CONST MUII_RadioButton    = 16
  191. CONST MUII_Cycle          = 17
  192. CONST MUII_PopUp          = 18
  193. CONST MUII_PopFile        = 19
  194. CONST MUII_PopDrawer      = 20
  195. CONST MUII_PropKnob       = 21
  196. CONST MUII_Drawer         = 22
  197. CONST MUII_HardDisk       = 23
  198. CONST MUII_Disk           = 24
  199. CONST MUII_Chip           = 25
  200. CONST MUII_Volume         = 26
  201. CONST MUII_PopUpBack      = 27
  202. CONST MUII_Network        = 28
  203. CONST MUII_Assign         = 29
  204. CONST MUII_TapePlay       = 30
  205. CONST MUII_TapePlayBack   = 31
  206. CONST MUII_TapePause      = 32
  207. CONST MUII_TapeStop       = 33
  208. CONST MUII_TapeRecord     = 34
  209. CONST MUII_GroupBack      = 35
  210. CONST MUII_SliderBack     = 36
  211. CONST MUII_SliderKnob     = 37
  212. CONST MUII_TapeUp         = 38
  213. CONST MUII_TapeDown       = 39
  214. CONST MUII_Count          = 40
  215.  
  216. CONST MUII_BACKGROUND    = 128    /* These are direct color    */
  217. CONST MUII_SHADOW        = 129    /* combinations and are not  */
  218. CONST MUII_SHINE         = 130    /* affected by users prefs.  */
  219. CONST MUII_FILL          = 131
  220. CONST MUII_SHADOWBACK    = 132    /* Generally, you should     */
  221. CONST MUII_SHADOWFILL    = 133    /* avoid using them. Better  */
  222. CONST MUII_SHADOWSHINE   = 134    /* use one of the customized */
  223. CONST MUII_FILLBACK      = 135    /* images above.             */
  224. CONST MUII_FILLSHINE     = 136
  225. CONST MUII_SHINEBACK     = 137
  226. CONST MUII_FILLBACK2     = 138
  227. CONST MUII_HSHINEBACK    = 139
  228. CONST MUII_HSHADOWBACK   = 140
  229. CONST MUII_HSHINESHINE   = 141
  230. CONST MUII_HSHADOWSHADOW = 142
  231. CONST MUII_LASTPAT       = 142
  232. /*CONST MUII_N1HSHINE      = 143*/
  233.  
  234.  
  235.  
  236. /***************************************************************************
  237. ** Special values for some methods
  238. ***************************************************************************/
  239.  
  240. CONST MUIV_TriggerValue    = $49893131
  241. CONST MUIV_NotTriggerValue = $49893133
  242. CONST MUIV_EveryTime       = $49893131
  243.  
  244. CONST MUIV_Notify_Self        = 1
  245. CONST MUIV_Notify_Window      = 2
  246. CONST MUIV_Notify_Application = 3
  247.  
  248. CONST MUIV_Application_Save_ENV      = NIL
  249. CONST MUIV_Application_Save_ENVARC   = $FFFFFFFF
  250. CONST MUIV_Application_Load_ENV      = NIL
  251. CONST MUIV_Application_Load_ENVARC   = $FFFFFFFF
  252.  
  253. CONST MUIV_Application_ReturnID_Quit = -1
  254.  
  255. CONST MUIV_List_Insert_Top           =  0
  256. CONST MUIV_List_Insert_Active        = -1
  257. CONST MUIV_List_Insert_Sorted        = -2
  258. CONST MUIV_List_Insert_Bottom        = -3
  259.  
  260. CONST MUIV_List_Remove_First         =  0
  261. CONST MUIV_List_Remove_Active        = -1
  262. CONST MUIV_List_Remove_Last          = -2
  263. CONST MUIV_List_Remove_Selected      = -3
  264.  
  265. CONST MUIV_List_Select_Off           =  0
  266. CONST MUIV_List_Select_On            =  1
  267. CONST MUIV_List_Select_Toggle        =  2
  268. CONST MUIV_List_Select_Ask           =  3
  269.  
  270. CONST MUIV_List_GetEntry_Active      = -1
  271. CONST MUIV_List_Select_Active        = -1
  272. CONST MUIV_List_Select_All           = -2
  273.  
  274. CONST MUIV_List_Redraw_Active        = -1
  275. CONST MUIV_List_Redraw_All           = -2
  276.  
  277. CONST MUIV_List_Move_Top             =  0
  278. CONST MUIV_List_Move_Active          = -1
  279. CONST MUIV_List_Move_Bottom          = -2
  280. CONST MUIV_List_Move_Next            = -3 /* only valid for second parameter */
  281. CONST MUIV_List_Move_Previous        = -4 /* only valid for second parameter */
  282.  
  283. CONST MUIV_List_Exchange_Top         =  0
  284. CONST MUIV_List_Exchange_Active      = -1
  285. CONST MUIV_List_Exchange_Bottom      = -2
  286. CONST MUIV_List_Exchange_Next        = -3 /* only valid for second parameter */
  287. CONST MUIV_List_Exchange_Previous    = -4 /* only valid for second parameter */
  288.  
  289. CONST MUIV_List_Jump_Top             =  0
  290. CONST MUIV_List_Jump_Active          = -1
  291. CONST MUIV_List_Jump_Bottom          = -2
  292.  
  293. CONST MUIV_Colorpanel_GetColor_Active = -1
  294. CONST MUIV_Colorpanel_SetColor_Active = -1
  295.  
  296. CONST MUIV_List_NextSelected_Start    = -1
  297. CONST MUIV_List_NextSelected_End      = -1
  298.  
  299.  
  300. /***************************************************************************
  301. ** Control codes for text strings
  302. ***************************************************************************/
  303.  
  304. #define MUIX_R  '\er'    /* right justified */
  305. #define MUIX_C  '\ec'    /* centered        */
  306. #define MUIX_L  '\el'    /* left justified  */
  307.  
  308. #define MUIX_N  '\en'    /* normal     */
  309. #define MUIX_B  '\eb'    /* bold       */
  310. #define MUIX_I  '\ei'    /* italic     */
  311. #define MUIX_U  '\eu'    /* underlined */
  312.  
  313. #define MUIX_PT  '\e2'   /* text pen           */
  314. #define MUIX_PH  '\e8'   /* highlight text pen */
  315.  
  316.  
  317.  
  318. /***************************************************************************
  319. ** Parameter structures for some classes
  320. ***************************************************************************/
  321.  
  322. OBJECT mui_palette_entry
  323.     mpe_id    : LONG
  324.     mpe_red   : LONG
  325.     mpe_green : LONG
  326.     mpe_blue  : LONG
  327.     mpe_group : LONG
  328. ENDOBJECT
  329.  
  330. CONST MUIV_Palette_Entry_End = -1
  331.  
  332.  
  333. OBJECT mui_scrmodelist_entry
  334.     sme_name   : PTR TO CHAR
  335.     sme_modeid : LONG
  336. ENDOBJECT
  337.  
  338.  
  339.  
  340. /***************************************************************************
  341. **
  342. ** Macro Section
  343. ** -------------
  344. **
  345. ** To make GUI creation more easy and understandable, you can use the
  346. ** macros below. If you dont want, just define MUI_NOSHORTCUTS to disable
  347. ** them.
  348. **
  349. ** These macros are available to C ...heu... E programmers only :-).
  350. **
  351. ***************************************************************************/
  352.  
  353. #ifndef MUI_NOSHORTCUTS
  354.  
  355.  
  356.  
  357. /***************************************************************************
  358. **
  359. ** Object Generation
  360. ** -----------------
  361. **
  362. ** The xxxObject (and xChilds) macros generate new instances of MUI classes.
  363. ** Every xxxObject can be followed by tagitems specifying initial create
  364. ** time attributes for the new object and must be terminated with the
  365. ** End macro:
  366. **
  367. ** obj = StringObject,
  368. **          MUIA_String_Contents, 'foo',
  369. **          MUIA_String_MaxLen  , 40,
  370. **          End;
  371. **
  372. ** With the Child, SubWindow and WindowContents shortcuts you can
  373. ** construct a complete GUI within one command:
  374. **
  375. ** app = ApplicationObject,
  376. **
  377. **          ...
  378. **
  379. **          SubWindow, WindowObject,
  380. **             WindowContents, VGroup,
  381. **                Child, String('foo',40),
  382. **                Child, String('bar',50),
  383. **                Child, HGroup,
  384. **                   Child, CheckMark(MUI_TRUE),
  385. **                   Child, CheckMark(FALSE),
  386. **                   End,
  387. **                End,
  388. **             End,
  389. **
  390. **          SubWindow, WindowObject,
  391. **             WindowContents, HGroup,
  392. **                Child, ...,
  393. **                Child, ...,
  394. **                End,
  395. **             End,
  396. **
  397. **          ...
  398. **
  399. **          End;
  400. **
  401. ***************************************************************************/
  402.  
  403. #define MenustripObject   Mui_NewObjectA(MUIC_Menustrip,[TAG_IGNORE,0
  404. #define MenuObject        Mui_NewObjectA(MUIC_Menu,[TAG_IGNORE,0
  405. #define MenuObjectT(name) Mui_NewObjectA(MUIC_Menu,[MUIA_Menu_Title,name
  406. #define MenuitemObject    Mui_NewObjectA(MUIC_Menuitem,[TAG_IGNORE,0
  407. #define WindowObject      Mui_NewObjectA(MUIC_Window,[TAG_IGNORE,0
  408. #define ImageObject       Mui_NewObjectA(MUIC_Image,[TAG_IGNORE,0
  409. #define BitmapObject      Mui_NewObjectA(MUIC_Bitmap,[TAG_IGNORE,0
  410. #define BodychunkObject   Mui_NewObjectA(MUIC_Bodychunk,[TAG_IGNORE,0
  411. #define NotifyObject      Mui_NewObjectA(MUIC_Notify,[TAG_IGNORE,0
  412. #define ApplicationObject Mui_NewObjectA(MUIC_Application,[TAG_IGNORE,0
  413. #define TextObject        Mui_NewObjectA(MUIC_Text,[TAG_IGNORE,0
  414. #define RectangleObject   Mui_NewObjectA(MUIC_Rectangle,[TAG_IGNORE,0
  415. #define ListObject        Mui_NewObjectA(MUIC_List,[TAG_IGNORE,0
  416. #define PropObject        Mui_NewObjectA(MUIC_Prop,[TAG_IGNORE,0
  417. #define StringObject      Mui_NewObjectA(MUIC_String,[TAG_IGNORE,0
  418. #define ScrollbarObject   Mui_NewObjectA(MUIC_Scrollbar,[TAG_IGNORE,0
  419. #define ListviewObject    Mui_NewObjectA(MUIC_Listview,[TAG_IGNORE,0
  420. #define RadioObject       Mui_NewObjectA(MUIC_Radio,[TAG_IGNORE,0
  421. #define VolumelistObject  Mui_NewObjectA(MUIC_Volumelist,[TAG_IGNORE,0
  422. #define FloattextObject   Mui_NewObjectA(MUIC_Floattext,[TAG_IGNORE,0
  423. #define DirlistObject     Mui_NewObjectA(MUIC_Dirlist,[TAG_IGNORE,0
  424. #define SliderObject      Mui_NewObjectA(MUIC_Slider,[TAG_IGNORE,0
  425. #define CycleObject       Mui_NewObjectA(MUIC_Cycle,[TAG_IGNORE,0
  426. #define GaugeObject       Mui_NewObjectA(MUIC_Gauge,[TAG_IGNORE,0
  427. #define ScaleObject       Mui_NewObjectA(MUIC_Scale,[TAG_IGNORE,0
  428. #define BoopsiObject      Mui_NewObjectA(MUIC_Boopsi,[TAG_IGNORE,0
  429. #define ColorfieldObject  Mui_NewObjectA(MUIC_Colorfield,[TAG_IGNORE,0
  430. #define ColorpanelObject  Mui_NewObjectA(MUIC_Colorpanel,[TAG_IGNORE,0
  431. #define ColoradjustObject Mui_NewObjectA(MUIC_Coloradjust,[TAG_IGNORE,0
  432. #define PaletteObject     Mui_NewObjectA(MUIC_Palette,[TAG_IGNORE,0
  433. #define GroupObject       Mui_NewObjectA(MUIC_Group,[TAG_IGNORE,0
  434. #define RegisterObject    Mui_NewObjectA(MUIC_Register,[TAG_IGNORE,0
  435. #define VirtgroupObject   Mui_NewObjectA(MUIC_Virtgroup,[TAG_IGNORE,0
  436. #define ScrollgroupObject Mui_NewObjectA(MUIC_Scrollgroup,[TAG_IGNORE,0
  437. #define PopstringObject   Mui_NewObjectA(MUIC_Popstring,[TAG_IGNORE,0
  438. #define PopobjectObject   Mui_NewObjectA(MUIC_Popobject,[TAG_IGNORE,0
  439. #define PoplistObject     Mui_NewObjectA(MUIC_Poplist,[TAG_IGNORE,0
  440. #define PopaslObject      Mui_NewObjectA(MUIC_Popasl,[TAG_IGNORE,0
  441. #define ScrmodelistObject Mui_NewObjectA(MUIC_Scrmodelist,[TAG_IGNORE,0
  442. #define VGroup            Mui_NewObjectA(MUIC_Group,[TAG_IGNORE,0
  443. #define HGroup            Mui_NewObjectA(MUIC_Group,[MUIA_Group_Horiz,MUI_TRUE
  444. #define ColGroup(cols)    Mui_NewObjectA(MUIC_Group,[MUIA_Group_Columns,(cols)
  445. #define RowGroup(rows)    Mui_NewObjectA(MUIC_Group,[MUIA_Group_Rows   ,(rows)
  446. #define PageGroup         Mui_NewObjectA(MUIC_Group,[MUIA_Group_PageMode,MUI_TRUE
  447. #define VGroupV           Mui_NewObjectA(MUIC_Virtgroup,[TAG_IGNORE,0
  448. #define HGroupV           Mui_NewObjectA(MUIC_Virtgroup,[MUIA_Group_Horiz,MUI_TRUE
  449. #define ColGroupV(cols)   Mui_NewObjectA(MUIC_Virtgroup,[MUIA_Group_Columns,(cols)
  450. #define RowGroupV(rows)   Mui_NewObjectA(MUIC_Virtgroup,[MUIA_Group_Rows   ,(rows)
  451. #define PageGroupV        Mui_NewObjectA(MUIC_Virtgroup,[MUIA_Group_PageMode,MUI_TRUE
  452. #define RegisterGroup(t)  Mui_NewObjectA(MUIC_Register,[MUIA_Register_Titles,(t)
  453. #define End               TAG_DONE])
  454.  
  455. #define Child             MUIA_Group_Child
  456. #define SubWindow         MUIA_Application_Window
  457. #define WindowContents    MUIA_Window_RootObject
  458.  
  459.  
  460.  
  461. /***************************************************************************
  462. **
  463. ** Frame Types
  464. ** -----------
  465. **
  466. ** These macros may be used to specify one of MUI's different frame types.
  467. ** Note that every macro consists of one { ti_Tag, ti_Data } pair.
  468. **
  469. ** GroupFrameT() is a special kind of frame that contains a centered
  470. ** title text.
  471. **
  472. ** HGroup, GroupFrameT('Horiz Groups'),
  473. **    Child, RectangleObject, TextFrame  , End,
  474. **    Child, RectangleObject, StringFrame, End,
  475. **    Child, RectangleObject, ButtonFrame, End,
  476. **    Child, RectangleObject, ListFrame  , End,
  477. **    End,
  478. **
  479. ***************************************************************************/
  480.  
  481. #define NoFrame          MUIA_Frame, MUIV_Frame_None
  482. #define ButtonFrame      MUIA_Frame, MUIV_Frame_Button
  483. #define ImageButtonFrame MUIA_Frame, MUIV_Frame_ImageButton
  484. #define TextFrame        MUIA_Frame, MUIV_Frame_Text
  485. #define StringFrame      MUIA_Frame, MUIV_Frame_String
  486. #define ReadListFrame    MUIA_Frame, MUIV_Frame_ReadList
  487. #define InputListFrame   MUIA_Frame, MUIV_Frame_InputList
  488. #define PropFrame        MUIA_Frame, MUIV_Frame_Prop
  489. #define SliderFrame      MUIA_Frame, MUIV_Frame_Slider
  490. #define GaugeFrame       MUIA_Frame, MUIV_Frame_Gauge
  491. #define VirtualFrame     MUIA_Frame, MUIV_Frame_Virtual
  492. #define GroupFrame       MUIA_Frame, MUIV_Frame_Group
  493. #define GroupFrameT(s)   MUIA_Frame, MUIV_Frame_Group, MUIA_FrameTitle, s
  494.  
  495.  
  496.  
  497. /***************************************************************************
  498. **
  499. ** Spacing Macros
  500. ** --------------
  501. **
  502. ***************************************************************************/
  503.  
  504. #define HVSpace           Mui_NewObjectA(MUIC_Rectangle,[TAG_DONE])
  505. #define HSpace(x)         Mui_MakeObjectA(MUIO_HSpace,[x])
  506. #define VSpace(x)         Mui_MakeObjectA(MUIO_VSpace,[x])
  507. #define HCenter(obj)      (HGroup, GroupSpacing(0), Child, HSpace(0), Child, (obj), Child, HSpace(0), End)
  508. #define VCenter(obj)      (VGroup, GroupSpacing(0), Child, VSpace(0), Child, (obj), Child, VSpace(0), End)
  509. #define InnerSpacing(h,v) MUIA_InnerLeft,(h),MUIA_InnerRight,(h),MUIA_InnerTop,(v),MUIA_InnerBottom,(v)
  510. #define GroupSpacing(x)   MUIA_Group_Spacing,x
  511.  
  512.  
  513.  
  514. #ifdef MUI_OBSOLETE
  515.  
  516. /***************************************************************************
  517. **
  518. ** String-Object
  519. ** -------------
  520. **
  521. ** The following macro creates a simple string gadget.
  522. **
  523. ***************************************************************************/
  524.  
  525. #define StringMUI(contents,maxlen)\
  526.     StringObject,\
  527.         StringFrame,\
  528.         MUIA_String_MaxLen  , maxlen,\
  529.         MUIA_String_Contents, contents,\
  530.         End
  531.  
  532. #define KeyString(contents,maxlen,controlchar)\
  533.     StringObject,\
  534.         StringFrame,\
  535.         MUIA_ControlChar    , controlchar,\
  536.         MUIA_String_MaxLen  , maxlen,\
  537.         MUIA_String_Contents, contents,\
  538.         End
  539.  
  540. #endif
  541.  
  542.  
  543.  
  544. #ifdef MUI_OBSOLETE
  545.  
  546. /***************************************************************************
  547. **
  548. ** CheckMark-Object
  549. ** ----------------
  550. **
  551. ** The following macro creates a checkmark gadget.
  552. **
  553. ***************************************************************************/
  554.  
  555. #define CheckMark(selected)\
  556.     ImageObject,\
  557.         ImageButtonFrame,\
  558.         MUIA_InputMode        , MUIV_InputMode_Toggle,\
  559.         MUIA_Image_Spec       , MUII_CheckMark,\
  560.         MUIA_Image_FreeVert   , MUI_TRUE,\
  561.         MUIA_Selected         , selected,\
  562.         MUIA_Background       , MUII_ButtonBack,\
  563.         MUIA_ShowSelState     , FALSE,\
  564.         End
  565.  
  566. #define KeyCheckMark(selected,control)\
  567.     ImageObject,\
  568.         ImageButtonFrame,\
  569.         MUIA_InputMode        , MUIV_InputMode_Toggle,\
  570.         MUIA_Image_Spec       , MUII_CheckMark,\
  571.         MUIA_Image_FreeVert   , MUI_TRUE,\
  572.         MUIA_Selected         , selected,\
  573.         MUIA_Background       , MUII_ButtonBack,\
  574.         MUIA_ShowSelState     , FALSE,\
  575.         MUIA_ControlChar      , control,\
  576.         End
  577.  
  578. #endif
  579.  
  580.  
  581. /***************************************************************************
  582. **
  583. ** Button-Objects
  584. ** --------------
  585. **
  586. ** Note: Use small letters for KeyButtons, e.g.
  587. **       KeyButton('Cancel',"c")  and not  KeyButton('Cancel',"C") !!
  588. **
  589. ***************************************************************************/
  590.  
  591. #define SimpleButton(label) Mui_MakeObjectA(MUIO_Button,[label])
  592.  
  593. #ifdef MUI_OBSOLETE
  594.  
  595. #define KeyButton(name,key)\
  596.     TextObject,\
  597.         ButtonFrame,\
  598.         MUIA_Text_Contents, name,\
  599.         MUIA_Text_PreParse, '\ec',\
  600.         MUIA_Text_HiChar  , key,\
  601.         MUIA_ControlChar  , key,\
  602.         MUIA_InputMode    , MUIV_InputMode_RelVerify,\
  603.         MUIA_Background   , MUII_ButtonBack,\
  604.         End
  605.  
  606. #endif
  607.  
  608.  
  609. #ifdef MUI_OBSOLETE
  610.  
  611. /***************************************************************************
  612. **
  613. ** Cycle-Object
  614. ** ------------
  615. **
  616. ***************************************************************************/
  617.  
  618. #define Cycle(entries)        CycleObject, MUIA_Cycle_Entries, entries, End
  619. #define KeyCycle(entries,key) CycleObject, MUIA_Cycle_Entries, entries, MUIA_ControlChar, key, End
  620.  
  621.  
  622.  
  623. /***************************************************************************
  624. **
  625. ** Radio-Object
  626. ** ------------
  627. **
  628. ***************************************************************************/
  629.  
  630. #define Radio(name,array)\
  631.     RadioObject,\
  632.         GroupFrameT(name),\
  633.         MUIA_Radio_Entries,array,\
  634.         End
  635.  
  636. #define KeyRadio(name,array,key)\
  637.     RadioObject,\
  638.         GroupFrameT(name),\
  639.         MUIA_Radio_Entries,array,\
  640.         MUIA_ControlChar, key,\
  641.         End
  642.  
  643.  
  644.  
  645. /***************************************************************************
  646. **
  647. ** Slider-Object
  648. ** -------------
  649. **
  650. ***************************************************************************/
  651.  
  652.  
  653. #define Slider(min,max,level)\
  654.     SliderObject,\
  655.         MUIA_Slider_Min  , min,\
  656.         MUIA_Slider_Max  , max,\
  657.         MUIA_Slider_Level, level,\
  658.         End
  659.  
  660. #define KeySlider(min,max,level,key)\
  661.     SliderObject,\
  662.         MUIA_Slider_Min  , min,\
  663.         MUIA_Slider_Max  , max,\
  664.         MUIA_Slider_Level, level,\
  665.         MUIA_ControlChar , key,\
  666.         End
  667.  
  668. #endif
  669.  
  670.  
  671.  
  672. /***************************************************************************
  673. **
  674. ** Button to be used for popup objects
  675. **
  676. ***************************************************************************/
  677.  
  678. #define PopButton(img) Mui_MakeObjectA(MUIO_PopButton,[img])
  679.  
  680.  
  681.  
  682. /***************************************************************************
  683. **
  684. ** Labeling Objects
  685. ** ----------------
  686. **
  687. ** Labeling objects, e.g. a group of string gadgets,
  688. **
  689. **   Small: |foo   |
  690. **  Normal: |bar   |
  691. **     Big: |foobar|
  692. **    Huge: |barfoo|
  693. **
  694. ** is done using a 2 column group:
  695. **
  696. ** ColGroup(2),
  697. **     Child, Label2('Small:' ),
  698. **    Child, StringObject, End,
  699. **     Child, Label2('Normal:'),
  700. **    Child, StringObject, End,
  701. **     Child, Label2('Big:'   ),
  702. **    Child, StringObject, End,
  703. **     Child, Label2('Huge:'  ),
  704. **    Child, StringObject, End,
  705. **    End,
  706. **
  707. ** Note that we have three versions of the label macro, depending on
  708. ** the frame type of the right hand object:
  709. **
  710. ** Label1(): For use with standard frames (e.g. checkmarks).
  711. ** Label2(): For use with double high frames (e.g. string gadgets).
  712. ** Label() : For use with objects without a frame.
  713. **
  714. ** These macros ensure that your label will look fine even if the
  715. ** user of your application configured some strange spacing values.
  716. ** If you want to use your own labeling, you'll have to pay attention
  717. ** on this topic yourself.
  718. **
  719. ***************************************************************************/
  720.  
  721. #define Label(label)   Mui_MakeObjectA(MUIO_Label,[label,0])
  722. #define Label1(label)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_SingleFrame])
  723. #define Label2(label)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_DoubleFrame])
  724. #define LLabel(label)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned])
  725. #define LLabel1(label) Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned OR MUIO_Label_SingleFrame])
  726. #define LLabel2(label) Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned OR MUIO_Label_DoubleFrame])
  727.  
  728. #define KeyLabel(label,key)   Mui_MakeObjectA(MUIO_Label,[label,key])
  729. #define KeyLabel1(label,key)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_SingleFrame OR (key)])
  730. #define KeyLabel2(label,key)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_DoubleFrame OR (key)])
  731. #define KeyLLabel(label,key)  Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned OR (key)])
  732. #define KeyLLabel1(label,key) Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned OR MUIO_Label_SingleFrame OR (key)])
  733. #define KeyLLabel2(label,key) Mui_MakeObjectA(MUIO_Label,[label,MUIO_Label_LeftAligned OR MUIO_Label_DoubleFrame OR (key)])
  734.  
  735.  
  736.  
  737. /***************************************************************************
  738. **
  739. ** Controlling Objects
  740. ** -------------------
  741. **
  742. ** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
  743. ** calls:
  744. **
  745. ** {
  746. **    char *x;
  747. **
  748. **    set(obj,MUIA_String_Contents,'foobar');
  749. **    get(obj,MUIA_String_Contents,&x);
  750. **
  751. **    printf('gadget contains "%s"\n',x);
  752. ** }
  753. **
  754. ** nnset() sets an attribute without triggering a possible notification.
  755. **
  756. ***************************************************************************/
  757.  
  758. #define get(obj,attr,store) GetAttr(attr,obj,store)
  759. #define set(obj,attr,value) SetAttrsA(obj,NEW [attr,value,TAG_DONE])
  760. #define nnset(obj,attr,value) SetAttrsA(obj,NEW [MUIA_NoNotify,MUI_TRUE,attr,value,TAG_DONE])
  761.  
  762. #define setmutex(obj,n)     set(obj,MUIA_Radio_Active,n)
  763. #define setcycle(obj,n)     set(obj,MUIA_Cycle_Active,n)
  764. #define setstring(obj,s)    set(obj,MUIA_String_Contents,s)
  765. #define setcheckmark(obj,b) set(obj,MUIA_Selected,b)
  766. #define setslider(obj,l)    set(obj,MUIA_Slider_Level,l)
  767.  
  768. #endif /* MUI_NOSHORTCUTS */
  769.  
  770.  
  771. /***************************************************************************
  772. **
  773. ** For Boopsi Image Implementors Only:
  774. **
  775. ** If MUI is using a boopsi image object, it will send a special method
  776. ** immediately after object creation. This method has a parameter structure
  777. ** where the boopsi can fill in its minimum and maximum size and learn if
  778. ** its used in a horizontal or vertical context.
  779. **
  780. ** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  781. ** value. That's how MUI sees that the method is implemented.
  782. **
  783. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  784. **       implement it, minimum size will be 0 and maximum size unlimited.
  785. **
  786. ***************************************************************************/
  787.  
  788. CONST MUIM_BoopsiQuery = $80427157 /* this is send to the boopsi and */
  789.                                     /* must be used as return value   */
  790.  
  791. OBJECT mui_boopsiquery
  792.     mbq_methodid   : LONG
  793.     mbq_screen     : PTR TO screen
  794.     mbq_flags      : LONG
  795.     mbq_minwidth   : LONG
  796.     mbq_minheight  : LONG
  797.     mbq_maxwidth   : LONG
  798.     mbq_maxheight  : LONG
  799.     mbq_defwidth   : LONG
  800.     mbq_defheight  : LONG
  801.     mbq_renderinfo : PTR TO mui_renderinfo
  802. ENDOBJECT
  803.  
  804. #define MUIP_BoopsiQuery  MUI_BoopsiQuery  /* old structure name */
  805.  
  806. CONST MBQF_HORIZ = 1           /* object used in a horizontal */
  807.                                     /* context (else vertical)     */
  808.  
  809. CONST MBQ_MUI_MAXMAX = 10000          /* use this for unlimited MaxWidth/Height */
  810.  
  811.  
  812. /*******************************************/
  813. /* Begin of automatic header file creation */
  814. /*******************************************/
  815.  
  816.  
  817.  
  818.  
  819. /****************************************************************************/
  820. /** Notify                                                                 **/
  821. /****************************************************************************/
  822.  
  823. #define MUIC_Notify 'Notify.mui'
  824.  
  825. /* Methods */
  826.  
  827. CONST MUIM_CallHook                  = $8042b96b /* V4  */
  828. CONST MUIM_FindUData                 = $8042c196 /* V8  */
  829. CONST MUIM_GetUData                  = $8042ed0c /* V8  */
  830. CONST MUIM_KillNotify                = $8042d240 /* V4  */
  831. CONST MUIM_MultiSet                  = $8042d356 /* V7  */
  832. CONST MUIM_NoNotifySet               = $8042216f /* V9  */
  833. CONST MUIM_Notify                    = $8042c9cb /* V4  */
  834. CONST MUIM_Set                       = $8042549a /* V4  */
  835. CONST MUIM_SetAsString               = $80422590 /* V4  */
  836. CONST MUIM_SetUData                  = $8042c920 /* V8  */
  837. CONST MUIM_WriteLong                 = $80428d86 /* V6  */
  838. CONST MUIM_WriteString               = $80424bf4 /* V6  */
  839.  
  840. /* Attributes */
  841.  
  842. CONST MUIA_AppMessage                 = $80421955 /* V5  ..g struct AppMessage * */
  843. #ifdef MUI_OBSOLETE
  844. CONST MUIA_HelpFile                   = $80423a6e /* V4  isg STRPTR            */
  845. #endif /* MUI_OBSOLETE */
  846. CONST MUIA_HelpLine                   = $8042a825 /* V4  isg LONG              */
  847. CONST MUIA_HelpNode                   = $80420b85 /* V4  isg STRPTR            */
  848. CONST MUIA_NoNotify                   = $804237f9 /* V7  .s. BOOL              */
  849. CONST MUIA_Revision                   = $80427eaa /* V4  ..g LONG              */
  850. CONST MUIA_UserData                   = $80420313 /* V4  isg ULONG             */
  851. CONST MUIA_Version                    = $80422301 /* V4  ..g LONG              */
  852.  
  853.  
  854.  
  855. /****************************************************************************/
  856. /** Family                                                                 **/
  857. /****************************************************************************/
  858.  
  859. #define MUIC_Family 'Family.mui'
  860.  
  861. /* Methods */
  862.  
  863. CONST MUIM_Family_AddHead            = $8042e200 /* V8  */
  864. CONST MUIM_Family_AddTail            = $8042d752 /* V8  */
  865. CONST MUIM_Family_Insert             = $80424d34 /* V8  */
  866. CONST MUIM_Family_Remove             = $8042f8a9 /* V8  */
  867. CONST MUIM_Family_Sort               = $80421c49 /* V8  */
  868. CONST MUIM_Family_Transfer           = $8042c14a /* V8  */
  869.  
  870. /* Attributes */
  871.  
  872. CONST MUIA_Family_Child               = $8042c696 /* V8  i.. Object *          */
  873.  
  874.  
  875.  
  876. /****************************************************************************/
  877. /** Menustrip                                                              **/
  878. /****************************************************************************/
  879.  
  880. #define MUIC_Menustrip 'Menustrip.mui'
  881.  
  882. /* Methods */
  883.  
  884.  
  885. /* Attributes */
  886.  
  887. CONST MUIA_Menustrip_Enabled          = $8042815b /* V8  isg BOOL              */
  888.  
  889.  
  890.  
  891. /****************************************************************************/
  892. /** Menu                                                                   **/
  893. /****************************************************************************/
  894.  
  895. #define MUIC_Menu 'Menu.mui'
  896.  
  897. /* Methods */
  898.  
  899.  
  900. /* Attributes */
  901.  
  902. CONST MUIA_Menu_Enabled               = $8042ed48 /* V8  isg BOOL              */
  903. CONST MUIA_Menu_Title                 = $8042a0e3 /* V8  isg STRPTR            */
  904.  
  905.  
  906.  
  907. /****************************************************************************/
  908. /** Menuitem                                                               **/
  909. /****************************************************************************/
  910.  
  911. #define MUIC_Menuitem 'Menuitem.mui'
  912.  
  913. /* Methods */
  914.  
  915.  
  916. /* Attributes */
  917.  
  918. CONST MUIA_Menuitem_Checked           = $8042562a /* V8  isg BOOL              */
  919. CONST MUIA_Menuitem_Checkit           = $80425ace /* V8  isg BOOL              */
  920. CONST MUIA_Menuitem_Enabled           = $8042ae0f /* V8  isg BOOL              */
  921. CONST MUIA_Menuitem_Exclude           = $80420bc6 /* V8  isg LONG              */
  922. CONST MUIA_Menuitem_Shortcut          = $80422030 /* V8  isg char              */
  923. CONST MUIA_Menuitem_Title             = $804218be /* V8  isg STRPTR            */
  924. CONST MUIA_Menuitem_Toggle            = $80424d5c /* V8  isg BOOL              */
  925. CONST MUIA_Menuitem_Trigger           = $80426f32 /* V8  ..g struct MenuItem * */
  926.  
  927.  
  928.  
  929. /****************************************************************************/
  930. /** Application                                                            **/
  931. /****************************************************************************/
  932.  
  933. #define MUIC_Application 'Application.mui'
  934.  
  935. /* Methods */
  936.  
  937. #ifdef MUI_OBSOLETE
  938. CONST MUIM_Application_GetMenuCheck  = $8042c0a7 /* V4  */
  939. #endif /* MUI_OBSOLETE */
  940. #ifdef MUI_OBSOLETE
  941. CONST MUIM_Application_GetMenuState  = $8042a58f /* V4  */
  942. #endif /* MUI_OBSOLETE */
  943. CONST MUIM_Application_Input         = $8042d0f5 /* V4  */
  944. CONST MUIM_Application_InputBuffered = $80427e59 /* V4  */
  945. CONST MUIM_Application_Load          = $8042f90d /* V4  */
  946. CONST MUIM_Application_PushMethod    = $80429ef8 /* V4  */
  947. CONST MUIM_Application_ReturnID      = $804276ef /* V4  */
  948. CONST MUIM_Application_Save          = $804227ef /* V4  */
  949. #ifdef MUI_OBSOLETE
  950. CONST MUIM_Application_SetMenuCheck  = $8042a707 /* V4  */
  951. #endif /* MUI_OBSOLETE */
  952. #ifdef MUI_OBSOLETE
  953. CONST MUIM_Application_SetMenuState  = $80428bef /* V4  */
  954. #endif /* MUI_OBSOLETE */
  955. CONST MUIM_Application_ShowHelp      = $80426479 /* V4  */
  956.  
  957. /* Attributes */
  958.  
  959. CONST MUIA_Application_Active         = $804260ab /* V4  isg BOOL              */
  960. CONST MUIA_Application_Author         = $80424842 /* V4  i.g STRPTR            */
  961. CONST MUIA_Application_Base           = $8042e07a /* V4  i.g STRPTR            */
  962. CONST MUIA_Application_Broker         = $8042dbce /* V4  ..g Broker *          */
  963. CONST MUIA_Application_BrokerHook     = $80428f4b /* V4  isg struct Hook *     */
  964. CONST MUIA_Application_BrokerPort     = $8042e0ad /* V6  ..g struct MsgPort *  */
  965. CONST MUIA_Application_BrokerPri      = $8042c8d0 /* V6  i.g LONG              */
  966. CONST MUIA_Application_Commands       = $80428648 /* V4  isg struct MUI_Command * */
  967. CONST MUIA_Application_Copyright      = $8042ef4d /* V4  i.g STRPTR            */
  968. CONST MUIA_Application_Description    = $80421fc6 /* V4  i.g STRPTR            */
  969. CONST MUIA_Application_DiskObject     = $804235cb /* V4  isg struct DiskObject * */
  970. CONST MUIA_Application_DoubleStart    = $80423bc6 /* V4  ..g BOOL              */
  971. CONST MUIA_Application_DropObject     = $80421266 /* V5  is. Object *          */
  972. CONST MUIA_Application_ForceQuit      = $804257df /* V8  ..g BOOL              */
  973. CONST MUIA_Application_HelpFile       = $804293f4 /* V8  isg STRPTR            */
  974. CONST MUIA_Application_Iconified      = $8042a07f /* V4  .sg BOOL              */
  975. #ifdef MUI_OBSOLETE
  976. CONST MUIA_Application_Menu           = $80420e1f /* V4  i.g struct NewMenu *  */
  977. #endif /* MUI_OBSOLETE */
  978. CONST MUIA_Application_MenuAction     = $80428961 /* V4  ..g ULONG             */
  979. CONST MUIA_Application_MenuHelp       = $8042540b /* V4  ..g ULONG             */
  980. CONST MUIA_Application_Menustrip      = $804252d9 /* V8  i.. Object *          */
  981. CONST MUIA_Application_RexxHook       = $80427c42 /* V7  isg struct Hook *     */
  982. CONST MUIA_Application_RexxMsg        = $8042fd88 /* V4  ..g struct RxMsg *    */
  983. CONST MUIA_Application_RexxString     = $8042d711 /* V4  .s. STRPTR            */
  984. CONST MUIA_Application_SingleTask     = $8042a2c8 /* V4  i.. BOOL              */
  985. CONST MUIA_Application_Sleep          = $80425711 /* V4  .s. BOOL              */
  986. CONST MUIA_Application_Title          = $804281b8 /* V4  i.g STRPTR            */
  987. CONST MUIA_Application_UseCommodities = $80425ee5 /* V10 i.. BOOL              */
  988. CONST MUIA_Application_UseRexx        = $80422387 /* V10 i.. BOOL              */
  989. CONST MUIA_Application_Version        = $8042b33f /* V4  i.g STRPTR            */
  990. CONST MUIA_Application_Window         = $8042bfe0 /* V4  i.. Object *          */
  991.  
  992.  
  993.  
  994. /****************************************************************************/
  995. /** Window                                                                 **/
  996. /****************************************************************************/
  997.  
  998. #define MUIC_Window 'Window.mui'
  999.  
  1000. /* Methods */
  1001.  
  1002. #ifdef MUI_OBSOLETE
  1003. CONST MUIM_Window_GetMenuCheck       = $80420414 /* V4  */
  1004. #endif /* MUI_OBSOLETE */
  1005. #ifdef MUI_OBSOLETE
  1006. CONST MUIM_Window_GetMenuState       = $80420d2f /* V4  */
  1007. #endif /* MUI_OBSOLETE */
  1008. CONST MUIM_Window_ScreenToBack       = $8042913d /* V4  */
  1009. CONST MUIM_Window_ScreenToFront      = $804227a4 /* V4  */
  1010. CONST MUIM_Window_SetCycleChain      = $80426510 /* V4  */
  1011. #ifdef MUI_OBSOLETE
  1012. CONST MUIM_Window_SetMenuCheck       = $80422243 /* V4  */
  1013. #endif /* MUI_OBSOLETE */
  1014. #ifdef MUI_OBSOLETE
  1015. CONST MUIM_Window_SetMenuState       = $80422b5e /* V4  */
  1016. #endif /* MUI_OBSOLETE */
  1017. CONST MUIM_Window_ToBack             = $8042152e /* V4  */
  1018. CONST MUIM_Window_ToFront            = $8042554f /* V4  */
  1019.  
  1020. /* Attributes */
  1021.  
  1022. CONST MUIA_Window_Activate            = $80428d2f /* V4  isg BOOL              */
  1023. CONST MUIA_Window_ActiveObject        = $80427925 /* V4  .sg Object *          */
  1024. CONST MUIA_Window_AltHeight           = $8042cce3 /* V4  i.g LONG              */
  1025. CONST MUIA_Window_AltLeftEdge         = $80422d65 /* V4  i.g LONG              */
  1026. CONST MUIA_Window_AltTopEdge          = $8042e99b /* V4  i.g LONG              */
  1027. CONST MUIA_Window_AltWidth            = $804260f4 /* V4  i.g LONG              */
  1028. CONST MUIA_Window_AppWindow           = $804280cf /* V5  i.. BOOL              */
  1029. CONST MUIA_Window_Backdrop            = $8042c0bb /* V4  i.. BOOL              */
  1030. CONST MUIA_Window_Borderless          = $80429b79 /* V4  i.. BOOL              */
  1031. CONST MUIA_Window_CloseGadget         = $8042a110 /* V4  i.. BOOL              */
  1032. CONST MUIA_Window_CloseRequest        = $8042e86e /* V4  ..g BOOL              */
  1033. CONST MUIA_Window_DefaultObject       = $804294d7 /* V4  isg Object *          */
  1034. CONST MUIA_Window_DepthGadget         = $80421923 /* V4  i.. BOOL              */
  1035. CONST MUIA_Window_DragBar             = $8042045d /* V4  i.. BOOL              */
  1036. CONST MUIA_Window_FancyDrawing        = $8042bd0e /* V8  isg BOOL              */
  1037. CONST MUIA_Window_Height              = $80425846 /* V4  i.g LONG              */
  1038. CONST MUIA_Window_ID                  = $804201bd /* V4  isg ULONG             */
  1039. CONST MUIA_Window_InputEvent          = $804247d8 /* V4  ..g struct InputEvent * */
  1040. CONST MUIA_Window_LeftEdge            = $80426c65 /* V4  i.g LONG              */
  1041. #ifdef MUI_OBSOLETE
  1042. CONST MUIA_Window_Menu                = $8042db94 /* V4  i.. struct NewMenu *  */
  1043. #endif /* MUI_OBSOLETE */
  1044. CONST MUIA_Window_MenuAction          = $80427521 /* V8  isg ULONG             */
  1045. CONST MUIA_Window_Menustrip           = $8042855e /* V8  i.. Object *          */
  1046. CONST MUIA_Window_MouseObject         = $8042bf9b /* V10 ..g Object *          */
  1047. CONST MUIA_Window_NeedsMouseObject    = $8042372a /* V10 i.. BOOL              */
  1048. CONST MUIA_Window_NoMenus             = $80429df5 /* V4  is. BOOL              */
  1049. CONST MUIA_Window_Open                = $80428aa0 /* V4  .sg BOOL              */
  1050. CONST MUIA_Window_PublicScreen        = $804278e4 /* V6  isg STRPTR            */
  1051. CONST MUIA_Window_RefWindow           = $804201f4 /* V4  is. Object *          */
  1052. CONST MUIA_Window_RootObject          = $8042cba5 /* V4  i.. Object *          */
  1053. CONST MUIA_Window_Screen              = $8042df4f /* V4  isg struct Screen *   */
  1054. CONST MUIA_Window_ScreenTitle         = $804234b0 /* V5  isg STRPTR            */
  1055. CONST MUIA_Window_SizeGadget          = $8042e33d /* V4  i.. BOOL              */
  1056. CONST MUIA_Window_SizeRight           = $80424780 /* V4  i.. BOOL              */
  1057. CONST MUIA_Window_Sleep               = $8042e7db /* V4  .sg BOOL              */
  1058. CONST MUIA_Window_Title               = $8042ad3d /* V4  isg STRPTR            */
  1059. CONST MUIA_Window_TopEdge             = $80427c66 /* V4  i.g LONG              */
  1060. CONST MUIA_Window_Width               = $8042dcae /* V4  i.g LONG              */
  1061. CONST MUIA_Window_Window              = $80426a42 /* V4  ..g struct Window *   */
  1062.  
  1063. CONST MUIV_Window_ActiveObject_None = 0
  1064. CONST MUIV_Window_ActiveObject_Next = -1
  1065. CONST MUIV_Window_ActiveObject_Prev = -2
  1066. #define MUIV_Window_AltHeight_MinMax(p) (0-(p))
  1067. #define MUIV_Window_AltHeight_Visible(p) (-100-(p))
  1068. #define MUIV_Window_AltHeight_Screen(p) (-200-(p))
  1069. CONST MUIV_Window_AltHeight_Scaled = -1000
  1070. CONST MUIV_Window_AltLeftEdge_Centered = -1
  1071. CONST MUIV_Window_AltLeftEdge_Moused = -2
  1072. CONST MUIV_Window_AltLeftEdge_NoChange = -1000
  1073. CONST MUIV_Window_AltTopEdge_Centered = -1
  1074. CONST MUIV_Window_AltTopEdge_Moused = -2
  1075. #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p))
  1076. CONST MUIV_Window_AltTopEdge_NoChange = -1000
  1077. #define MUIV_Window_AltWidth_MinMax(p) (0-(p))
  1078. #define MUIV_Window_AltWidth_Visible(p) (-100-(p))
  1079. #define MUIV_Window_AltWidth_Screen(p) (-200-(p))
  1080. CONST MUIV_Window_AltWidth_Scaled = -1000
  1081. #define MUIV_Window_Height_MinMax(p) (0-(p))
  1082. #define MUIV_Window_Height_Visible(p) (-100-(p))
  1083. #define MUIV_Window_Height_Screen(p) (-200-(p))
  1084. CONST MUIV_Window_Height_Scaled = -1000
  1085. CONST MUIV_Window_Height_Default = -1001
  1086. CONST MUIV_Window_LeftEdge_Centered = -1
  1087. CONST MUIV_Window_LeftEdge_Moused = -2
  1088. #ifdef MUI_OBSOLETE
  1089. CONST MUIV_Window_Menu_NoMenu = -1
  1090. #endif /* MUI_OBSOLETE */
  1091. CONST MUIV_Window_TopEdge_Centered = -1
  1092. CONST MUIV_Window_TopEdge_Moused = -2
  1093. #define MUIV_Window_TopEdge_Delta(p) (-3-(p))
  1094. #define MUIV_Window_Width_MinMax(p) (0-(p))
  1095. #define MUIV_Window_Width_Visible(p) (-100-(p))
  1096. #define MUIV_Window_Width_Screen(p) (-200-(p))
  1097. CONST MUIV_Window_Width_Scaled = -1000
  1098. CONST MUIV_Window_Width_Default = -1001
  1099.  
  1100.  
  1101. /****************************************************************************/
  1102. /** Area                                                                   **/
  1103. /****************************************************************************/
  1104.  
  1105. #define MUIC_Area 'Area.mui'
  1106.  
  1107. /* Methods */
  1108.  
  1109. CONST MUIM_AskMinMax                 = $80423874 /* Custom Class */ /* V4  */
  1110. CONST MUIM_Cleanup                   = $8042d985 /* Custom Class */ /* V4  */
  1111. CONST MUIM_Draw                      = $80426f3f /* Custom Class */ /* V4  */
  1112. CONST MUIM_HandleInput               = $80422a1a /* Custom Class */ /* V4  */
  1113. CONST MUIM_Hide                      = $8042f20f /* Custom Class */ /* V4  */
  1114. CONST MUIM_Setup                     = $80428354 /* Custom Class */ /* V4  */
  1115. CONST MUIM_Show                      = $8042cc84 /* Custom Class */ /* V4  */
  1116.  
  1117. /* Attributes */
  1118.  
  1119. CONST MUIA_ApplicationObject          = $8042d3ee /* V4  ..g Object *          */
  1120. CONST MUIA_Background                 = $8042545b /* V4  is. LONG              */
  1121. CONST MUIA_BottomEdge                 = $8042e552 /* V4  ..g LONG              */
  1122. CONST MUIA_ControlChar                = $8042120b /* V4  i.. char              */
  1123. CONST MUIA_Disabled                   = $80423661 /* V4  isg BOOL              */
  1124. CONST MUIA_ExportID                   = $8042d76e /* V4  isg LONG              */
  1125. CONST MUIA_FixHeight                  = $8042a92b /* V4  i.. LONG              */
  1126. CONST MUIA_FixHeightTxt               = $804276f2 /* V4  i.. LONG              */
  1127. CONST MUIA_FixWidth                   = $8042a3f1 /* V4  i.. LONG              */
  1128. CONST MUIA_FixWidthTxt                = $8042d044 /* V4  i.. STRPTR            */
  1129. CONST MUIA_Font                       = $8042be50 /* V4  i.g struct TextFont * */
  1130. CONST MUIA_Frame                      = $8042ac64 /* V4  i.. LONG              */
  1131. CONST MUIA_FramePhantomHoriz          = $8042ed76 /* V4  i.. BOOL              */
  1132. CONST MUIA_FrameTitle                 = $8042d1c7 /* V4  i.. STRPTR            */
  1133. CONST MUIA_Height                     = $80423237 /* V4  ..g LONG              */
  1134. CONST MUIA_HorizWeight                = $80426db9 /* V4  i.. WORD              */
  1135. CONST MUIA_InnerBottom                = $8042f2c0 /* V4  i.. LONG              */
  1136. CONST MUIA_InnerLeft                  = $804228f8 /* V4  i.. LONG              */
  1137. CONST MUIA_InnerRight                 = $804297ff /* V4  i.. LONG              */
  1138. CONST MUIA_InnerTop                   = $80421eb6 /* V4  i.. LONG              */
  1139. CONST MUIA_InputMode                  = $8042fb04 /* V4  i.. LONG              */
  1140. CONST MUIA_LeftEdge                   = $8042bec6 /* V4  ..g LONG              */
  1141. CONST MUIA_Pressed                    = $80423535 /* V4  ..g BOOL              */
  1142. CONST MUIA_RightEdge                  = $8042ba82 /* V4  ..g LONG              */
  1143. CONST MUIA_Selected                   = $8042654b /* V4  isg BOOL              */
  1144. CONST MUIA_ShowMe                     = $80429ba8 /* V4  isg BOOL              */
  1145. CONST MUIA_ShowSelState               = $8042caac /* V4  i.. BOOL              */
  1146. CONST MUIA_Timer                      = $80426435 /* V4  ..g LONG              */
  1147. CONST MUIA_TopEdge                    = $8042509b /* V4  ..g LONG              */
  1148. CONST MUIA_VertWeight                 = $804298d0 /* V4  i.. WORD              */
  1149. CONST MUIA_Weight                     = $80421d1f /* V4  i.. WORD              */
  1150. CONST MUIA_Width                      = $8042b59c /* V4  ..g LONG              */
  1151. CONST MUIA_Window                     = $80421591 /* V4  ..g struct Window *   */
  1152. CONST MUIA_WindowObject               = $8042669e /* V4  ..g Object *          */
  1153.  
  1154. CONST MUIV_Font_Inherit = 0
  1155. CONST MUIV_Font_Normal = -1
  1156. CONST MUIV_Font_List = -2
  1157. CONST MUIV_Font_Tiny = -3
  1158. CONST MUIV_Font_Fixed = -4
  1159. CONST MUIV_Font_Title = -5
  1160. CONST MUIV_Font_Big = -6
  1161. CONST MUIV_Frame_None = 0
  1162. CONST MUIV_Frame_Button = 1
  1163. CONST MUIV_Frame_ImageButton = 2
  1164. CONST MUIV_Frame_Text = 3
  1165. CONST MUIV_Frame_String = 4
  1166. CONST MUIV_Frame_ReadList = 5
  1167. CONST MUIV_Frame_InputList = 6
  1168. CONST MUIV_Frame_Prop = 7
  1169. CONST MUIV_Frame_Gauge = 8
  1170. CONST MUIV_Frame_Group = 9
  1171. CONST MUIV_Frame_PopUp = 10
  1172. CONST MUIV_Frame_Virtual = 11
  1173. CONST MUIV_Frame_Slider = 12
  1174. CONST MUIV_Frame_Count = 13
  1175. CONST MUIV_InputMode_None = 0
  1176. CONST MUIV_InputMode_RelVerify = 1
  1177. CONST MUIV_InputMode_Immediate = 2
  1178.  
  1179.  
  1180. /****************************************************************************/
  1181. /** Rectangle                                                              **/
  1182. /****************************************************************************/
  1183.  
  1184. #define MUIC_Rectangle 'Rectangle.mui'
  1185.  
  1186. /* Attributes */
  1187.  
  1188. CONST MUIA_Rectangle_HBar             = $8042c943 /* V7  i.g BOOL              */
  1189. CONST MUIA_Rectangle_VBar             = $80422204 /* V7  i.g BOOL              */
  1190.  
  1191.  
  1192.  
  1193. /****************************************************************************/
  1194. /** Image                                                                  **/
  1195. /****************************************************************************/
  1196.  
  1197. #define MUIC_Image 'Image.mui'
  1198.  
  1199. /* Attributes */
  1200.  
  1201. CONST MUIA_Image_FontMatch            = $8042815d /* V4  i.. BOOL              */
  1202. CONST MUIA_Image_FontMatchHeight      = $80429f26 /* V4  i.. BOOL              */
  1203. CONST MUIA_Image_FontMatchWidth       = $804239bf /* V4  i.. BOOL              */
  1204. CONST MUIA_Image_FreeHoriz            = $8042da84 /* V4  i.. BOOL              */
  1205. CONST MUIA_Image_FreeVert             = $8042ea28 /* V4  i.. BOOL              */
  1206. CONST MUIA_Image_OldImage             = $80424f3d /* V4  i.. struct Image *    */
  1207. CONST MUIA_Image_Spec                 = $804233d5 /* V4  i.. char *            */
  1208. CONST MUIA_Image_State                = $8042a3ad /* V4  is. LONG              */
  1209.  
  1210.  
  1211.  
  1212. /****************************************************************************/
  1213. /** Bitmap                                                                 **/
  1214. /****************************************************************************/
  1215.  
  1216. #define MUIC_Bitmap 'Bitmap.mui'
  1217.  
  1218. /* Attributes */
  1219.  
  1220. CONST MUIA_Bitmap_Bitmap              = $804279bd /* V8  isg struct BitMap *   */
  1221. CONST MUIA_Bitmap_Height              = $80421560 /* V8  isg LONG              */
  1222. CONST MUIA_Bitmap_MappingTable        = $8042e23d /* V8  isg UBYTE *           */
  1223. CONST MUIA_Bitmap_SourceColors        = $80425360 /* V8  isg ULONG *           */
  1224. CONST MUIA_Bitmap_Transparent         = $80422805 /* V8  isg LONG              */
  1225. CONST MUIA_Bitmap_Width               = $8042eb3a /* V8  isg LONG              */
  1226.  
  1227.  
  1228.  
  1229. /****************************************************************************/
  1230. /** Bodychunk                                                              **/
  1231. /****************************************************************************/
  1232.  
  1233. #define MUIC_Bodychunk 'Bodychunk.mui'
  1234.  
  1235. /* Attributes */
  1236.  
  1237. CONST MUIA_Bodychunk_Body             = $8042ca67 /* V8  isg UBYTE *           */
  1238. CONST MUIA_Bodychunk_Compression      = $8042de5f /* V8  isg UBYTE             */
  1239. CONST MUIA_Bodychunk_Depth            = $8042c392 /* V8  isg LONG              */
  1240. CONST MUIA_Bodychunk_Masking          = $80423b0e /* V8  isg UBYTE             */
  1241.  
  1242.  
  1243.  
  1244. /****************************************************************************/
  1245. /** Text                                                                   **/
  1246. /****************************************************************************/
  1247.  
  1248. #define MUIC_Text 'Text.mui'
  1249.  
  1250. /* Attributes */
  1251.  
  1252. CONST MUIA_Text_Contents              = $8042f8dc /* V4  isg STRPTR            */
  1253. CONST MUIA_Text_HiChar                = $804218ff /* V4  i.. char              */
  1254. CONST MUIA_Text_PreParse              = $8042566d /* V4  isg STRPTR            */
  1255. CONST MUIA_Text_SetMax                = $80424d0a /* V4  i.. BOOL              */
  1256. CONST MUIA_Text_SetMin                = $80424e10 /* V4  i.. BOOL              */
  1257.  
  1258.  
  1259.  
  1260. /****************************************************************************/
  1261. /** String                                                                 **/
  1262. /****************************************************************************/
  1263.  
  1264. #define MUIC_String 'String.mui'
  1265.  
  1266. /* Attributes */
  1267.  
  1268. CONST MUIA_String_Accept              = $8042e3e1 /* V4  isg STRPTR            */
  1269. CONST MUIA_String_Acknowledge         = $8042026c /* V4  ..g STRPTR            */
  1270. CONST MUIA_String_AttachedList        = $80420fd2 /* V4  i.. Object *          */
  1271. CONST MUIA_String_BufferPos           = $80428b6c /* V4  .sg LONG              */
  1272. CONST MUIA_String_Contents            = $80428ffd /* V4  isg STRPTR            */
  1273. CONST MUIA_String_DisplayPos          = $8042ccbf /* V4  .sg LONG              */
  1274. CONST MUIA_String_EditHook            = $80424c33 /* V7  isg struct Hook *     */
  1275. CONST MUIA_String_Format              = $80427484 /* V4  i.g LONG              */
  1276. CONST MUIA_String_Integer             = $80426e8a /* V4  isg ULONG             */
  1277. CONST MUIA_String_MaxLen              = $80424984 /* V4  i.g LONG              */
  1278. CONST MUIA_String_Reject              = $8042179c /* V4  isg STRPTR            */
  1279. CONST MUIA_String_Secret              = $80428769 /* V4  i.g BOOL              */
  1280.  
  1281. CONST MUIV_String_Format_Left = 0
  1282. CONST MUIV_String_Format_Center = 1
  1283. CONST MUIV_String_Format_Right = 2
  1284.  
  1285.  
  1286. /****************************************************************************/
  1287. /** Prop                                                                   **/
  1288. /****************************************************************************/
  1289.  
  1290. #define MUIC_Prop 'Prop.mui'
  1291.  
  1292. /* Attributes */
  1293.  
  1294. CONST MUIA_Prop_Entries               = $8042fbdb /* V4  isg LONG              */
  1295. CONST MUIA_Prop_First                 = $8042d4b2 /* V4  isg LONG              */
  1296. CONST MUIA_Prop_Horiz                 = $8042f4f3 /* V4  i.g BOOL              */
  1297. CONST MUIA_Prop_Slider                = $80429c3a /* V4  isg BOOL              */
  1298. CONST MUIA_Prop_Visible               = $8042fea6 /* V4  isg LONG              */
  1299.  
  1300.  
  1301.  
  1302. /****************************************************************************/
  1303. /** Gauge                                                                  **/
  1304. /****************************************************************************/
  1305.  
  1306. #define MUIC_Gauge 'Gauge.mui'
  1307.  
  1308. /* Attributes */
  1309.  
  1310. CONST MUIA_Gauge_Current              = $8042f0dd /* V4  isg LONG              */
  1311. CONST MUIA_Gauge_Divide               = $8042d8df /* V4  isg BOOL              */
  1312. CONST MUIA_Gauge_Horiz                = $804232dd /* V4  i.. BOOL              */
  1313. CONST MUIA_Gauge_InfoText             = $8042bf15 /* V7  isg char *            */
  1314. CONST MUIA_Gauge_Max                  = $8042bcdb /* V4  isg LONG              */
  1315.  
  1316.  
  1317.  
  1318. /****************************************************************************/
  1319. /** Scale                                                                  **/
  1320. /****************************************************************************/
  1321.  
  1322. #define MUIC_Scale 'Scale.mui'
  1323.  
  1324. /* Attributes */
  1325.  
  1326. CONST MUIA_Scale_Horiz                = $8042919a /* V4  isg BOOL              */
  1327.  
  1328.  
  1329.  
  1330. /****************************************************************************/
  1331. /** Boopsi                                                                 **/
  1332. /****************************************************************************/
  1333.  
  1334. #define MUIC_Boopsi 'Boopsi.mui'
  1335.  
  1336. /* Attributes */
  1337.  
  1338. CONST MUIA_Boopsi_Class               = $80426999 /* V4  isg struct IClass *   */
  1339. CONST MUIA_Boopsi_ClassID             = $8042bfa3 /* V4  isg char *            */
  1340. CONST MUIA_Boopsi_MaxHeight           = $8042757f /* V4  isg ULONG             */
  1341. CONST MUIA_Boopsi_MaxWidth            = $8042bcb1 /* V4  isg ULONG             */
  1342. CONST MUIA_Boopsi_MinHeight           = $80422c93 /* V4  isg ULONG             */
  1343. CONST MUIA_Boopsi_MinWidth            = $80428fb2 /* V4  isg ULONG             */
  1344. CONST MUIA_Boopsi_Object              = $80420178 /* V4  ..g Object *          */
  1345. CONST MUIA_Boopsi_Remember            = $8042f4bd /* V4  i.. ULONG             */
  1346. CONST MUIA_Boopsi_Smart               = $8042b8d7 /* V9  i.. BOOL              */
  1347. CONST MUIA_Boopsi_TagDrawInfo         = $8042bae7 /* V4  isg ULONG             */
  1348. CONST MUIA_Boopsi_TagScreen           = $8042bc71 /* V4  isg ULONG             */
  1349. CONST MUIA_Boopsi_TagWindow           = $8042e11d /* V4  isg ULONG             */
  1350.  
  1351.  
  1352.  
  1353. /****************************************************************************/
  1354. /** Colorfield                                                             **/
  1355. /****************************************************************************/
  1356.  
  1357. #define MUIC_Colorfield 'Colorfield.mui'
  1358.  
  1359. /* Attributes */
  1360.  
  1361. CONST MUIA_Colorfield_Blue            = $8042d3b0 /* V4  isg ULONG             */
  1362. CONST MUIA_Colorfield_Green           = $80424466 /* V4  isg ULONG             */
  1363. CONST MUIA_Colorfield_Pen             = $8042713a /* V4  ..g ULONG             */
  1364. CONST MUIA_Colorfield_Red             = $804279f6 /* V4  isg ULONG             */
  1365. CONST MUIA_Colorfield_RGB             = $8042677a /* V4  isg ULONG *           */
  1366.  
  1367.  
  1368.  
  1369. /****************************************************************************/
  1370. /** List                                                                   **/
  1371. /****************************************************************************/
  1372.  
  1373. #define MUIC_List 'List.mui'
  1374.  
  1375. /* Methods */
  1376.  
  1377. CONST MUIM_List_Clear                = $8042ad89 /* V4  */
  1378. CONST MUIM_List_Exchange             = $8042468c /* V4  */
  1379. CONST MUIM_List_GetEntry             = $804280ec /* V4  */
  1380. CONST MUIM_List_Insert               = $80426c87 /* V4  */
  1381. CONST MUIM_List_InsertSingle         = $804254d5 /* V7  */
  1382. CONST MUIM_List_Jump                 = $8042baab /* V4  */
  1383. CONST MUIM_List_Move                 = $804253c2 /* V9  */
  1384. CONST MUIM_List_NextSelected         = $80425f17 /* V6  */
  1385. CONST MUIM_List_Redraw               = $80427993 /* V4  */
  1386. CONST MUIM_List_Remove               = $8042647e /* V4  */
  1387. CONST MUIM_List_Select               = $804252d8 /* V4  */
  1388. CONST MUIM_List_Sort                 = $80422275 /* V4  */
  1389.  
  1390. /* Attributes */
  1391.  
  1392. CONST MUIA_List_Active                = $8042391c /* V4  isg LONG              */
  1393. CONST MUIA_List_AdjustHeight          = $8042850d /* V4  i.. BOOL              */
  1394. CONST MUIA_List_AdjustWidth           = $8042354a /* V4  i.. BOOL              */
  1395. CONST MUIA_List_CompareHook           = $80425c14 /* V4  is. struct Hook *     */
  1396. CONST MUIA_List_ConstructHook         = $8042894f /* V4  is. struct Hook *     */
  1397. CONST MUIA_List_DestructHook          = $804297ce /* V4  is. struct Hook *     */
  1398. CONST MUIA_List_DisplayHook           = $8042b4d5 /* V4  is. struct Hook *     */
  1399. CONST MUIA_List_Entries               = $80421654 /* V4  ..g LONG              */
  1400. CONST MUIA_List_First                 = $804238d4 /* V4  ..g LONG              */
  1401. CONST MUIA_List_Format                = $80423c0a /* V4  isg STRPTR            */
  1402. CONST MUIA_List_InsertPosition        = $8042d0cd /* V9  ..g LONG              */
  1403. CONST MUIA_List_MultiTestHook         = $8042c2c6 /* V4  is. struct Hook *     */
  1404. CONST MUIA_List_Quiet                 = $8042d8c7 /* V4  .s. BOOL              */
  1405. CONST MUIA_List_SourceArray           = $8042c0a0 /* V4  i.. APTR              */
  1406. CONST MUIA_List_Title                 = $80423e66 /* V6  isg char *            */
  1407. CONST MUIA_List_Visible               = $8042191f /* V4  ..g LONG              */
  1408.  
  1409. CONST MUIV_List_Active_Off = -1
  1410. CONST MUIV_List_Active_Top = -2
  1411. CONST MUIV_List_Active_Bottom = -3
  1412. CONST MUIV_List_Active_Up = -4
  1413. CONST MUIV_List_Active_Down = -5
  1414. CONST MUIV_List_Active_PageUp = -6
  1415. CONST MUIV_List_Active_PageDown = -7
  1416. CONST MUIV_List_ConstructHook_String = -1
  1417. CONST MUIV_List_CopyHook_String = -1
  1418. CONST MUIV_List_CursorType_None = 0
  1419. CONST MUIV_List_CursorType_Bar = 1
  1420. CONST MUIV_List_CursorType_Rect = 2
  1421. CONST MUIV_List_DestructHook_String = -1
  1422.  
  1423.  
  1424. /****************************************************************************/
  1425. /** Floattext                                                              **/
  1426. /****************************************************************************/
  1427.  
  1428. #define MUIC_Floattext 'Floattext.mui'
  1429.  
  1430. /* Attributes */
  1431.  
  1432. CONST MUIA_Floattext_Justify          = $8042dc03 /* V4  isg BOOL              */
  1433. CONST MUIA_Floattext_SkipChars        = $80425c7d /* V4  is. STRPTR            */
  1434. CONST MUIA_Floattext_TabSize          = $80427d17 /* V4  is. LONG              */
  1435. CONST MUIA_Floattext_Text             = $8042d16a /* V4  isg STRPTR            */
  1436.  
  1437.  
  1438.  
  1439. /****************************************************************************/
  1440. /** Volumelist                                                             **/
  1441. /****************************************************************************/
  1442.  
  1443. #define MUIC_Volumelist 'Volumelist.mui'
  1444.  
  1445.  
  1446. /****************************************************************************/
  1447. /** Scrmodelist                                                            **/
  1448. /****************************************************************************/
  1449.  
  1450. #define MUIC_Scrmodelist 'Scrmodelist.mui'
  1451.  
  1452. /* Attributes */
  1453.  
  1454.  
  1455.  
  1456.  
  1457. /****************************************************************************/
  1458. /** Dirlist                                                                **/
  1459. /****************************************************************************/
  1460.  
  1461. #define MUIC_Dirlist 'Dirlist.mui'
  1462.  
  1463. /* Methods */
  1464.  
  1465. CONST MUIM_Dirlist_ReRead            = $80422d71 /* V4  */
  1466.  
  1467. /* Attributes */
  1468.  
  1469. CONST MUIA_Dirlist_AcceptPattern      = $8042760a /* V4  is. STRPTR            */
  1470. CONST MUIA_Dirlist_Directory          = $8042ea41 /* V4  isg STRPTR            */
  1471. CONST MUIA_Dirlist_DrawersOnly        = $8042b379 /* V4  is. BOOL              */
  1472. CONST MUIA_Dirlist_FilesOnly          = $8042896a /* V4  is. BOOL              */
  1473. CONST MUIA_Dirlist_FilterDrawers      = $80424ad2 /* V4  is. BOOL              */
  1474. CONST MUIA_Dirlist_FilterHook         = $8042ae19 /* V4  is. struct Hook *     */
  1475. CONST MUIA_Dirlist_MultiSelDirs       = $80428653 /* V6  is. BOOL              */
  1476. CONST MUIA_Dirlist_NumBytes           = $80429e26 /* V4  ..g LONG              */
  1477. CONST MUIA_Dirlist_NumDrawers         = $80429cb8 /* V4  ..g LONG              */
  1478. CONST MUIA_Dirlist_NumFiles           = $8042a6f0 /* V4  ..g LONG              */
  1479. CONST MUIA_Dirlist_Path               = $80426176 /* V4  ..g STRPTR            */
  1480. CONST MUIA_Dirlist_RejectIcons        = $80424808 /* V4  is. BOOL              */
  1481. CONST MUIA_Dirlist_RejectPattern      = $804259c7 /* V4  is. STRPTR            */
  1482. CONST MUIA_Dirlist_SortDirs           = $8042bbb9 /* V4  is. LONG              */
  1483. CONST MUIA_Dirlist_SortHighLow        = $80421896 /* V4  is. BOOL              */
  1484. CONST MUIA_Dirlist_SortType           = $804228bc /* V4  is. LONG              */
  1485. CONST MUIA_Dirlist_Status             = $804240de /* V4  ..g LONG              */
  1486.  
  1487. CONST MUIV_Dirlist_SortDirs_First = 0
  1488. CONST MUIV_Dirlist_SortDirs_Last = 1
  1489. CONST MUIV_Dirlist_SortDirs_Mix = 2
  1490. CONST MUIV_Dirlist_SortType_Name = 0
  1491. CONST MUIV_Dirlist_SortType_Date = 1
  1492. CONST MUIV_Dirlist_SortType_Size = 2
  1493. CONST MUIV_Dirlist_Status_Invalid = 0
  1494. CONST MUIV_Dirlist_Status_Reading = 1
  1495. CONST MUIV_Dirlist_Status_Valid = 2
  1496.  
  1497.  
  1498. /****************************************************************************/
  1499. /** Group                                                                  **/
  1500. /****************************************************************************/
  1501.  
  1502. #define MUIC_Group 'Group.mui'
  1503.  
  1504. /* Methods */
  1505.  
  1506.  
  1507. /* Attributes */
  1508.  
  1509. CONST MUIA_Group_ActivePage           = $80424199 /* V5  isg LONG              */
  1510. CONST MUIA_Group_Child                = $804226e6 /* V4  i.. Object *          */
  1511. CONST MUIA_Group_Columns              = $8042f416 /* V4  is. LONG              */
  1512. CONST MUIA_Group_Horiz                = $8042536b /* V4  i.. BOOL              */
  1513. CONST MUIA_Group_HorizSpacing         = $8042c651 /* V4  is. LONG              */
  1514. CONST MUIA_Group_PageMode             = $80421a5f /* V5  is. BOOL              */
  1515. CONST MUIA_Group_Rows                 = $8042b68f /* V4  is. LONG              */
  1516. CONST MUIA_Group_SameHeight           = $8042037e /* V4  i.. BOOL              */
  1517. CONST MUIA_Group_SameSize             = $80420860 /* V4  i.. BOOL              */
  1518. CONST MUIA_Group_SameWidth            = $8042b3ec /* V4  i.. BOOL              */
  1519. CONST MUIA_Group_Spacing              = $8042866d /* V4  is. LONG              */
  1520. CONST MUIA_Group_VertSpacing          = $8042e1bf /* V4  is. LONG              */
  1521.  
  1522. CONST MUIV_Group_ActivePage_First = 0
  1523. CONST MUIV_Group_ActivePage_Last = -1
  1524. CONST MUIV_Group_ActivePage_Prev = -2
  1525. CONST MUIV_Group_ActivePage_Next = -3
  1526.  
  1527.  
  1528. /****************************************************************************/
  1529. /** Register                                                               **/
  1530. /****************************************************************************/
  1531.  
  1532. #define MUIC_Register 'Register.mui'
  1533.  
  1534. /* Attributes */
  1535.  
  1536. CONST MUIA_Register_Frame             = $8042349b /* V7  i.g BOOL              */
  1537. CONST MUIA_Register_Titles            = $804297ec /* V7  i.g STRPTR *          */
  1538.  
  1539.  
  1540.  
  1541. /****************************************************************************/
  1542. /** Virtgroup                                                              **/
  1543. /****************************************************************************/
  1544.  
  1545. #define MUIC_Virtgroup 'Virtgroup.mui'
  1546.  
  1547. /* Methods */
  1548.  
  1549.  
  1550. /* Attributes */
  1551.  
  1552. CONST MUIA_Virtgroup_Height           = $80423038 /* V6  ..g LONG              */
  1553. CONST MUIA_Virtgroup_Left             = $80429371 /* V6  isg LONG              */
  1554. CONST MUIA_Virtgroup_Top              = $80425200 /* V6  isg LONG              */
  1555. CONST MUIA_Virtgroup_Width            = $80427c49 /* V6  ..g LONG              */
  1556.  
  1557.  
  1558.  
  1559. /****************************************************************************/
  1560. /** Scrollgroup                                                            **/
  1561. /****************************************************************************/
  1562.  
  1563. #define MUIC_Scrollgroup 'Scrollgroup.mui'
  1564.  
  1565. /* Attributes */
  1566.  
  1567. CONST MUIA_Scrollgroup_Contents       = $80421261 /* V4  i.. Object *          */
  1568. CONST MUIA_Scrollgroup_FreeHoriz      = $804292f3 /* V9  i.. BOOL              */
  1569. CONST MUIA_Scrollgroup_FreeVert       = $804224f2 /* V9  i.. BOOL              */
  1570.  
  1571.  
  1572.  
  1573. /****************************************************************************/
  1574. /** Scrollbar                                                              **/
  1575. /****************************************************************************/
  1576.  
  1577. #define MUIC_Scrollbar 'Scrollbar.mui'
  1578.  
  1579.  
  1580. /****************************************************************************/
  1581. /** Listview                                                               **/
  1582. /****************************************************************************/
  1583.  
  1584. #define MUIC_Listview 'Listview.mui'
  1585.  
  1586. /* Attributes */
  1587.  
  1588. CONST MUIA_Listview_ClickColumn       = $8042d1b3 /* V7  ..g LONG              */
  1589. CONST MUIA_Listview_DefClickColumn    = $8042b296 /* V7  isg LONG              */
  1590. CONST MUIA_Listview_DoubleClick       = $80424635 /* V4  i.g BOOL              */
  1591. CONST MUIA_Listview_Input             = $8042682d /* V4  i.. BOOL              */
  1592. CONST MUIA_Listview_List              = $8042bcce /* V4  i.. Object *          */
  1593. CONST MUIA_Listview_MultiSelect       = $80427e08 /* V7  i.. LONG              */
  1594. CONST MUIA_Listview_ScrollerPos       = $8042b1b4 /* V10 i.. BOOL              */
  1595. CONST MUIA_Listview_SelectChange      = $8042178f /* V4  ..g BOOL              */
  1596.  
  1597. CONST MUIV_Listview_MultiSelect_None = 0
  1598. CONST MUIV_Listview_MultiSelect_Default = 1
  1599. CONST MUIV_Listview_MultiSelect_Shifted = 2
  1600. CONST MUIV_Listview_MultiSelect_Always = 3
  1601. CONST MUIV_Listview_ScrollerPos_Default = 0
  1602. CONST MUIV_Listview_ScrollerPos_Left = 1
  1603. CONST MUIV_Listview_ScrollerPos_Right = 2
  1604.  
  1605.  
  1606. /****************************************************************************/
  1607. /** Radio                                                                  **/
  1608. /****************************************************************************/
  1609.  
  1610. #define MUIC_Radio 'Radio.mui'
  1611.  
  1612. /* Attributes */
  1613.  
  1614. CONST MUIA_Radio_Active               = $80429b41 /* V4  isg LONG              */
  1615. CONST MUIA_Radio_Entries              = $8042b6a1 /* V4  i.. STRPTR *          */
  1616.  
  1617.  
  1618.  
  1619. /****************************************************************************/
  1620. /** Cycle                                                                  **/
  1621. /****************************************************************************/
  1622.  
  1623. #define MUIC_Cycle 'Cycle.mui'
  1624.  
  1625. /* Attributes */
  1626.  
  1627. CONST MUIA_Cycle_Active               = $80421788 /* V4  isg LONG              */
  1628. CONST MUIA_Cycle_Entries              = $80420629 /* V4  i.. STRPTR *          */
  1629.  
  1630. CONST MUIV_Cycle_Active_Next = -1
  1631. CONST MUIV_Cycle_Active_Prev = -2
  1632.  
  1633.  
  1634. /****************************************************************************/
  1635. /** Slider                                                                 **/
  1636. /****************************************************************************/
  1637.  
  1638. #define MUIC_Slider 'Slider.mui'
  1639.  
  1640. /* Attributes */
  1641.  
  1642. CONST MUIA_Slider_Level               = $8042ae3a /* V4  isg LONG              */
  1643. CONST MUIA_Slider_Max                 = $8042d78a /* V4  isg LONG              */
  1644. CONST MUIA_Slider_Min                 = $8042e404 /* V4  isg LONG              */
  1645. CONST MUIA_Slider_Quiet               = $80420b26 /* V6  i.. BOOL              */
  1646. CONST MUIA_Slider_Reverse             = $8042f2a0 /* V4  isg BOOL              */
  1647.  
  1648.  
  1649.  
  1650. /****************************************************************************/
  1651. /** Coloradjust                                                            **/
  1652. /****************************************************************************/
  1653.  
  1654. #define MUIC_Coloradjust 'Coloradjust.mui'
  1655.  
  1656. /* Attributes */
  1657.  
  1658. CONST MUIA_Coloradjust_Blue           = $8042b8a3 /* V4  isg ULONG             */
  1659. CONST MUIA_Coloradjust_Green          = $804285ab /* V4  isg ULONG             */
  1660. CONST MUIA_Coloradjust_ModeID         = $8042ec59 /* V4  isg ULONG             */
  1661. CONST MUIA_Coloradjust_Red            = $80420eaa /* V4  isg ULONG             */
  1662. CONST MUIA_Coloradjust_RGB            = $8042f899 /* V4  isg ULONG *           */
  1663.  
  1664.  
  1665.  
  1666. /****************************************************************************/
  1667. /** Palette                                                                **/
  1668. /****************************************************************************/
  1669.  
  1670. #define MUIC_Palette 'Palette.mui'
  1671.  
  1672. /* Attributes */
  1673.  
  1674. CONST MUIA_Palette_Entries            = $8042a3d8 /* V6  i.g struct MUI_Palette_Entry * */
  1675. CONST MUIA_Palette_Groupable          = $80423e67 /* V6  isg BOOL              */
  1676. CONST MUIA_Palette_Names              = $8042c3a2 /* V6  isg char **           */
  1677.  
  1678.  
  1679.  
  1680. /****************************************************************************/
  1681. /** Colorpanel                                                             **/
  1682. /****************************************************************************/
  1683.  
  1684. #define MUIC_Colorpanel 'Colorpanel.mui'
  1685.  
  1686. /* Methods */
  1687.  
  1688.  
  1689. /* Attributes */
  1690.  
  1691.  
  1692.  
  1693.  
  1694. /****************************************************************************/
  1695. /** Popstring                                                              **/
  1696. /****************************************************************************/
  1697.  
  1698. #define MUIC_Popstring 'Popstring.mui'
  1699.  
  1700. /* Methods */
  1701.  
  1702. CONST MUIM_Popstring_Close           = $8042dc52 /* V7  */
  1703. CONST MUIM_Popstring_Open            = $804258ba /* V7  */
  1704.  
  1705. /* Attributes */
  1706.  
  1707. CONST MUIA_Popstring_Button           = $8042d0b9 /* V7  i.g Object *          */
  1708. CONST MUIA_Popstring_CloseHook        = $804256bf /* V7  isg struct Hook *     */
  1709. CONST MUIA_Popstring_OpenHook         = $80429d00 /* V7  isg struct Hook *     */
  1710. CONST MUIA_Popstring_String           = $804239ea /* V7  i.g Object *          */
  1711. CONST MUIA_Popstring_Toggle           = $80422b7a /* V7  isg BOOL              */
  1712.  
  1713.  
  1714.  
  1715. /****************************************************************************/
  1716. /** Popobject                                                              **/
  1717. /****************************************************************************/
  1718.  
  1719. #define MUIC_Popobject 'Popobject.mui'
  1720.  
  1721. /* Attributes */
  1722.  
  1723. CONST MUIA_Popobject_Follow           = $80424cb5 /* V7  isg BOOL              */
  1724. CONST MUIA_Popobject_Light            = $8042a5a3 /* V7  isg BOOL              */
  1725. CONST MUIA_Popobject_Object           = $804293e3 /* V7  i.g Object *          */
  1726. CONST MUIA_Popobject_ObjStrHook       = $8042db44 /* V7  isg struct Hook *     */
  1727. CONST MUIA_Popobject_StrObjHook       = $8042fbe1 /* V7  isg struct Hook *     */
  1728. CONST MUIA_Popobject_Volatile         = $804252ec /* V7  isg BOOL              */
  1729. CONST MUIA_Popobject_WindowHook       = $8042f194 /* V9  isg struct Hook *     */
  1730.  
  1731.  
  1732.  
  1733. /****************************************************************************/
  1734. /** Poplist                                                                **/
  1735. /****************************************************************************/
  1736.  
  1737. #define MUIC_Poplist 'Poplist.mui'
  1738.  
  1739. /* Attributes */
  1740.  
  1741. CONST MUIA_Poplist_Array              = $8042084c /* V8  i.. char **           */
  1742.  
  1743.  
  1744.  
  1745. /****************************************************************************/
  1746. /** Popasl                                                                 **/
  1747. /****************************************************************************/
  1748.  
  1749. #define MUIC_Popasl 'Popasl.mui'
  1750.  
  1751. /* Attributes */
  1752.  
  1753. CONST MUIA_Popasl_Active              = $80421b37 /* V7  ..g BOOL              */
  1754. CONST MUIA_Popasl_StartHook           = $8042b703 /* V7  isg struct Hook *     */
  1755. CONST MUIA_Popasl_StopHook            = $8042d8d2 /* V7  isg struct Hook *     */
  1756. CONST MUIA_Popasl_Type                = $8042df3d /* V7  i.g ULONG             */
  1757.  
  1758.  
  1759.  
  1760. /*****************************************/
  1761. /* End of automatic header file creation */
  1762. /*****************************************/
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770. /*************************************************************************
  1771. ** Structures and Macros for creating custom classes.
  1772. *************************************************************************/
  1773.  
  1774.  
  1775. /*
  1776. ** GENERAL NOTES:
  1777. **
  1778. ** - Everything described in this header file is only valid within
  1779. **   MUI classes. You may never use any of these things out of
  1780. **   a class, e.g. in a traditional MUI application.
  1781. **
  1782. ** - Except when otherwise stated, all structures are strictly read only.
  1783. */
  1784.  
  1785.  
  1786. /* Global information for every object */
  1787.  
  1788. OBJECT mui_globalinfo
  1789.     priv0                 : LONG
  1790.     mgi_applicationobject : PTR TO LONG
  1791. ENDOBJECT
  1792.  
  1793.  
  1794. /* Instance data of notify class */
  1795.  
  1796. OBJECT mui_notifydata
  1797.     mnd_globalinfo : PTR TO mui_globalinfo
  1798.     mnd_userdata   : LONG
  1799.     priv1          : LONG
  1800.     priv2          : LONG
  1801.     priv3          : LONG
  1802.     priv4          : LONG
  1803.     priv5          : LONG
  1804. ENDOBJECT
  1805.  
  1806.  
  1807. /* MUI_MinMax structure holds information about minimum, maximum
  1808.    and default dimensions of an object. */
  1809.  
  1810. OBJECT mui_minmax
  1811.     minwidth  : INT
  1812.     minheight : INT
  1813.     maxwidth  : INT
  1814.     maxheight : INT
  1815.     defwidth  : INT
  1816.     defheight : INT
  1817. ENDOBJECT
  1818.  
  1819. CONST MUI_MAXMAX = 10000 /* use this if a dimension is not limited. */
  1820.  
  1821.  
  1822. /* (partial) instance data of area class */
  1823.  
  1824. OBJECT mui_areadata
  1825.     mad_renderinfo : PTR TO mui_renderinfo
  1826.     priv6          : LONG
  1827.     mad_font       : PTR TO textfont
  1828.     mad_minmax     : mui_minmax
  1829.     mad_box        : ibox
  1830.     mad_addleft    : CHAR
  1831.     mad_addtop     : CHAR
  1832.     mad_subwidth   : CHAR
  1833.     mad_subheight  : CHAR
  1834.     mad_flags      : LONG
  1835. ENDOBJECT
  1836.  
  1837. /* Definitions for mad_Flags, other flags are private */
  1838.  
  1839. CONST MADF_DRAWOBJECT        = 1 /* completely redraw yourself */
  1840. CONST MADF_DRAWUPDATE        = 2 /* only update yourself */
  1841.  
  1842.  
  1843.  
  1844.  
  1845. /* MUI's draw pens */
  1846.  
  1847. CONST MPEN_SHINE      = 0
  1848. CONST MPEN_HALFSHINE  = 1
  1849. CONST MPEN_BACKGROUND = 2
  1850. CONST MPEN_HALFSHADOW = 3
  1851. CONST MPEN_SHADOW     = 4
  1852. CONST MPEN_TEXT       = 5
  1853. CONST MPEN_FILL       = 6
  1854. CONST MPEN_ACTIVEOBJ  = 7
  1855. CONST MPEN_COUNT      = 8
  1856.  
  1857.  
  1858. /* Information on display environment */
  1859.  
  1860. OBJECT mui_renderinfo
  1861.     mri_windowobject : PTR TO LONG
  1862.     mri_screen       : PTR TO screen
  1863.     mri_drawinfo     : PTR TO drawinfo
  1864.     mri_pens         : PTR TO INT
  1865.     mri_window       : PTR TO window
  1866.     mri_rastport     : PTR TO rastport
  1867. ENDOBJECT
  1868.  
  1869.  
  1870.  
  1871. /* the following macros can be used to get pointers to an objects
  1872.    GlobalInfo and RenderInfo structures. */
  1873.  
  1874. OBJECT __dummyxfc2__
  1875.     mnd : mui_notifydata
  1876.     mad : mui_areadata
  1877. ENDOBJECT
  1878.  
  1879. #define muiNotifyData(obj) obj::__dummyxfc2__.mnd
  1880. #define muiAreaData(obj)   obj::__dummyxfc2__.mad
  1881.  
  1882. #define muiGlobalInfo(obj) obj::__dummyxfc2__.mnd.mnd_globalinfo
  1883. #define muiUserData(obj)   obj::__dummyxfc2__.mnd.mnd_userdata
  1884. #define muiRenderInfo(obj) obj::__dummyxfc2__.mad.mad_renderinfo
  1885.  
  1886.  
  1887.  
  1888. /* User configurable keyboard events coming with MUIM_HandleInput */
  1889.  
  1890. CONST    MUIKEY_RELEASE = -2, /* not a real key, faked when MUIKEY_PRESS is released */
  1891.     MUIKEY_NONE    = -1
  1892. ENUM    MUIKEY_PRESS,
  1893.     MUIKEY_TOGGLE,
  1894.     MUIKEY_UP,
  1895.     MUIKEY_DOWN,
  1896.     MUIKEY_PAGEUP,
  1897.     MUIKEY_PAGEDOWN,
  1898.     MUIKEY_TOP,
  1899.     MUIKEY_BOTTOM,
  1900.     MUIKEY_LEFT,
  1901.     MUIKEY_RIGHT,
  1902.     MUIKEY_WORDLEFT,
  1903.     MUIKEY_WORDRIGHT,
  1904.     MUIKEY_LINESTART,
  1905.     MUIKEY_LINEEND,
  1906.     MUIKEY_GADGET_NEXT,
  1907.     MUIKEY_GADGET_PREV,
  1908.     MUIKEY_GADGET_OFF,
  1909.     MUIKEY_WINDOW_CLOSE,
  1910.     MUIKEY_WINDOW_NEXT,
  1911.     MUIKEY_WINDOW_PREV,
  1912.     MUIKEY_HELP,
  1913.     MUIKEY_POPUP,
  1914.     MUIKEY_COUNT /* counter */
  1915.  
  1916.  
  1917. /* Some useful shortcuts. define MUI_NOSHORTCUTS to get rid of them */
  1918.  
  1919. #ifndef MUI_NOSHORTCUTS
  1920.  
  1921. #define _app(obj)         (muiGlobalInfo(obj).mgi_applicationobject)
  1922. #define _win(obj)         (muiRenderInfo(obj).mri_windowobject)
  1923. #define _dri(obj)         (muiRenderInfo(obj).mri_drawinfo)
  1924. #define _window(obj)      (muiRenderInfo(obj).mri_window)
  1925. #define _screen(obj)      (muiRenderInfo(obj).mri_screen)
  1926. #define _rp(obj)          (muiRenderInfo(obj).mri_rastport)
  1927. #define _left(obj)        (muiAreaData(obj).mad_box.left)
  1928. #define _top(obj)         (muiAreaData(obj).mad_box.top)
  1929. #define _width(obj)       (muiAreaData(obj).mad_box.width)
  1930. #define _height(obj)      (muiAreaData(obj).mad_box.height)
  1931. #define _right(obj)       (_left(obj)+_width(obj)-1)
  1932. #define _bottom(obj)      (_top(obj)+_height(obj)-1)
  1933. #define _addleft(obj)     (muiAreaData(obj).mad_addleft)
  1934. #define _addtop(obj)      (muiAreaData(obj).mad_addtop)
  1935. #define _subwidth(obj)    (muiAreaData(obj).mad_subwidth)
  1936. #define _subheight(obj)   (muiAreaData(obj).mad_subheight)
  1937. #define _mleft(obj)       (_left(obj)+_addleft(obj))
  1938. #define _mtop(obj)        (_top(obj)+_addtop(obj))
  1939. #define _mwidth(obj)      (_width(obj)-_subwidth(obj))
  1940. #define _mheight(obj)     (_height(obj)-_subheight(obj))
  1941. #define _mright(obj)      (_mleft(obj)+_mwidth(obj)-1)
  1942. #define _mbottom(obj)     (_mtop(obj)+_mheight(obj)-1)
  1943. #define _font(obj)        (muiAreaData(obj).mad_font)
  1944. #define _flags(obj)       (muiAreaData(obj).mad_flags)
  1945.  
  1946. #endif
  1947.  
  1948.  
  1949.  
  1950. /* MUI_CustomClass returned by MUI_CreateCustomClass() */
  1951.  
  1952. OBJECT mui_customclass
  1953.     mcc_userdata      : LONG
  1954.     mcc_utilitybase   : PTR TO lib
  1955.     mcc_dosbase       : PTR TO lib
  1956.     mcc_gfxbase       : PTR TO lib
  1957.     mcc_intuitionbase : PTR TO lib
  1958.     mcc_super         : PTR TO iclass
  1959.     mcc_class         : PTR TO iclass
  1960. ENDOBJECT
  1961.